guint prop_id,
GValue *value,
GParamSpec *pspec);
-static GtkSymbolicColor *
- gtk_style_context_color_lookup_func (gpointer contextp,
- const char *name);
static StyleData *style_data_lookup (GtkStyleContext *context);
return context->priv->info->junction_sides;
}
-static GtkSymbolicColor *
-gtk_style_context_color_lookup_func (gpointer contextp,
- const char *name)
-{
- GtkStyleContext *context = contextp;
-
- return _gtk_style_provider_private_get_color (GTK_STYLE_PROVIDER_PRIVATE (context->priv->cascade), name);
-}
-
GtkCssValue *
_gtk_style_context_resolve_color_value (GtkStyleContext *context,
GtkCssValue *current,
g_return_val_if_fail (color != NULL, FALSE);
return _gtk_symbolic_color_resolve_full ((GtkSymbolicColor *) color,
+ GTK_STYLE_PROVIDER_PRIVATE (context->priv->cascade),
current,
current_deps,
- gtk_style_context_color_lookup_func,
- context,
dependencies);
}
g_return_val_if_fail (result != NULL, FALSE);
val = _gtk_symbolic_color_resolve_full (color,
+ GTK_STYLE_PROVIDER_PRIVATE (context->priv->cascade),
_gtk_style_context_peek_property (context, GTK_CSS_PROPERTY_COLOR),
GTK_CSS_DEPENDS_ON_COLOR,
- gtk_style_context_color_lookup_func,
- context,
dependencies);
if (val == NULL)
return FALSE;
g_return_val_if_fail (color_name != NULL, FALSE);
g_return_val_if_fail (color != NULL, FALSE);
- sym_color = gtk_style_context_color_lookup_func (context, color_name);
+ sym_color = _gtk_style_provider_private_get_color (GTK_STYLE_PROVIDER_PRIVATE (context->priv->cascade), color_name);
if (sym_color == NULL)
return FALSE;
*color = temp;
}
-static GtkSymbolicColor *
-resolve_lookup_color (gpointer data, const char *name)
-{
- if (data == NULL)
- return NULL;
-
- return gtk_style_properties_lookup_color (data, name);
-}
-
/**
* gtk_symbolic_color_resolve:
* @color: a #GtkSymbolicColor
current = _gtk_css_rgba_value_new_from_rgba (&pink);
v =_gtk_symbolic_color_resolve_full (color,
+ GTK_STYLE_PROVIDER_PRIVATE (props),
current,
0,
- resolve_lookup_color,
- props,
NULL);
_gtk_css_value_unref (current);
if (v == NULL)
}
GtkCssValue *
-_gtk_symbolic_color_resolve_full (GtkSymbolicColor *color,
- GtkCssValue *current,
- GtkCssDependencies current_deps,
- GtkSymbolicColorLookupFunc func,
- gpointer data,
- GtkCssDependencies *dependencies)
+_gtk_symbolic_color_resolve_full (GtkSymbolicColor *color,
+ GtkStyleProviderPrivate *provider,
+ GtkCssValue *current,
+ GtkCssDependencies current_deps,
+ GtkCssDependencies *dependencies)
{
GtkCssDependencies unused;
GtkCssValue *value;
g_return_val_if_fail (color != NULL, FALSE);
+ g_return_val_if_fail (GTK_IS_STYLE_PROVIDER_PRIVATE (provider), FALSE);
g_return_val_if_fail (current != NULL, FALSE);
- g_return_val_if_fail (func != NULL, FALSE);
if (dependencies == NULL)
dependencies = &unused;
{
GtkSymbolicColor *named_color;
- named_color = func (data, color->name);
+ named_color = _gtk_style_provider_private_get_color (provider, color->name);
if (!named_color)
return NULL;
- return _gtk_symbolic_color_resolve_full (named_color, current, current_deps, func, data, dependencies);
+ return _gtk_symbolic_color_resolve_full (named_color, provider, current, current_deps, dependencies);
}
break;
GtkCssValue *val;
GdkRGBA shade;
- val = _gtk_symbolic_color_resolve_full (color->shade.color, current, current_deps, func, data, dependencies);
+ val = _gtk_symbolic_color_resolve_full (color->shade.color, provider, current, current_deps, dependencies);
if (val == NULL)
return NULL;
GtkCssValue *val;
GdkRGBA alpha;
- val = _gtk_symbolic_color_resolve_full (color->alpha.color, current, current_deps, func, data, dependencies);
+ val = _gtk_symbolic_color_resolve_full (color->alpha.color, provider, current, current_deps, dependencies);
if (val == NULL)
return NULL;
GdkRGBA color1, color2, res;
GtkCssDependencies dep1, dep2;
- val = _gtk_symbolic_color_resolve_full (color->mix.color1, current, current_deps, func, data, &dep1);
+ val = _gtk_symbolic_color_resolve_full (color->mix.color1, provider, current, current_deps, &dep1);
if (val == NULL)
return NULL;
color1 = *_gtk_css_rgba_value_get_rgba (val);
_gtk_css_value_unref (val);
- val = _gtk_symbolic_color_resolve_full (color->mix.color2, current, current_deps, func, data, &dep2);
+ val = _gtk_symbolic_color_resolve_full (color->mix.color2, provider, current, current_deps, &dep2);
if (val == NULL)
return NULL;
color2 = *_gtk_css_rgba_value_get_rgba (val);